package com.example.springbootbabyu.utils;

import lombok.Data;

/**
 * 通用返回结果封装类
 * @param <T> 数据类型
 * @author 梦天
 * @date 2025/4/14 8:17
 */
@Data
public class ResultUtil<T> {
    private Integer code;    // 状态码
    private String msg;  // 返回消息
    private T result;         // 返回数据

    /**
     * 成功返回
     * @param code 状态码
     *             1：成功
     * @param msg 返回消息
     * @param result 返回数据
     * @return ResultUtil<T>
     */
    public static <T> ResultUtil<T> success(Integer code, String msg, T result) {
        ResultUtil<T> resultUtil = new ResultUtil<>();
        resultUtil.setCode(code);
        resultUtil.setMsg(msg);
        resultUtil.setResult(result);
        return resultUtil;
    }

    /**
     * 失败返回
     * @param code 状态码
     *             0：失败
     * @param msg 返回消息
     * @return ResultUtil<T>
     */
    public static <T> ResultUtil<T> error(Integer code, String msg) {
        ResultUtil<T> resultUtil = new ResultUtil<>();
        resultUtil.setCode(code);
        resultUtil.setMsg(msg);
        return resultUtil;
    }

}